<?php

/*
Copyright 2007,2008 Benjamin V King

BH Widgets is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

BH Widgets is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with BH Widgets; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

class BH_Tag_Cloud_Widget extends BH_Controllable_Widget_Base {
	
	function widget($args) {
		extract($args);
		
		$smallest = $this->get_attribute('smallest');
		$largest = $this->get_attribute('largest');
		$number = $this->get_attribute('number');
		 

		echo "$before_widget\n";
		echo $this->get_widget_start_tag($args);
		wp_tag_cloud( array('smallest' => $smallest, 'largest' => $largest, 'unit' => 'px', 'number' => $number, 'format' => 'flat') );
		echo $this->get_widget_end_tag($args);
		echo "$after_widget\n";
	}
	
	function control() {
		if ( $this->get_request_param_value('submit') ) {
			$this->update_attribute_from_param('smallest');
			$this->update_attribute_from_param('largest');
			$this->update_attribute_from_param('number');
		}

		$smallest = $this->get_attribute('smallest');
		$largest = $this->get_attribute('largest');
		$number = $this->get_attribute('number');

		echo "<label>Smallest:</label><input name=\"". $this->get_request_param_name('smallest') ."\" value=\"". $smallest ."\"/><br/>\n";
		echo "<label>Largest:</label><input name=\"". $this->get_request_param_name('largest') ."\" value=\"". $largest ."\"/><br/>\n";
		echo "<label>Number:</label><input name=\"". $this->get_request_param_name('number') ."\" value=\"". $number ."\"/><br/>\n";
		echo "<input type=\"hidden\" name=\"". $this->get_request_param_name('submit') ."\" value=\"1\"/><br/>\n";
	
	}
}


bh_widgets_register_class('BH_Tag_Cloud_Widget', 0, 0);
?>
